package org.tmsps.ne4spring.base;

import org.tmsps.ne4spring.base.ne.NePage;
import org.tmsps.ne4spring.base.ne.NeSort;
import org.tmsps.ne4spring.orm.param.NeParamList;

/**
 * 基础 查询service
 * 
 * @author 刘华
 *
 */
public interface BaseQueryService {

	/**
	 * 分页查询简化版
	 * 
	 * @return
	 */
	public NePage queryForNePage(String sql, NePage page, Object... vals);

	/**
	 * 分页查询简化版
	 * 
	 * @return
	 */
	public NePage queryForNePage(String sql, String sqlCount, NePage page, Object... vals);

	/**
	 * 分页查询——加排序
	 * 
	 * @return
	 */
	public NePage queryForNePage(String sql, NeSort sorter, NePage page, Object... vals);

	/**
	 * 分页查询——加排序
	 * 
	 * @return
	 */
	public NePage queryForNePage(String sql, String sql_count, NeSort sorter, NePage page, Object... vals);

	/**
	 * 万能分页查询
	 * 
	 * @param sql
	 * @param args
	 * @param page
	 * @return
	 */
	public NePage queryForNePageUniversal(String sql, NePage page, Object... vals);

	/**
	 * Ne分页
	 * 
	 * @param sql
	 * @param params
	 * @param page
	 * @return
	 */
	public NePage queryForNePage(String sql, NeParamList params, NePage page);

	/**
	 * Ne分页
	 * 
	 * @param sql
	 * @param params
	 * @param sorter
	 * @param page
	 * @return
	 */
	public NePage queryForNePage(String sql, NeParamList params, NeSort sorter, NePage page);

}
